#ifndef ___MSG_ENTITY___
#define ___MSG_ENTITY___

#include "Message/MsgBase.h"
#include "Message/MsgCategory.h"

//
//	Message
//	To get entity list from server for a selection
//
class TCOM_API MsgGetEntityList : public MsgBase
{
public:
	enum{	Category = Msg::MC_Entity, Id = 1	};
	MsgGetEntityList(int m_nAccID = 0);

	virtual bool decode(MsgIStream& stream);
	virtual bool encode(MsgOStream& stream);
	virtual void dump();
	virtual bool validate();
public:
	int	m_nAccountID;
};

class TCOM_API MsgSetEntityList : public MsgBase
{
public:
	enum{	Category = Msg::MC_Entity, Id = 2	};
	MsgSetEntityList();

	virtual bool decode(MsgIStream& stream);
	virtual bool encode(MsgOStream& stream);
	virtual void dump();
	virtual bool validate();

protected:
};

//
//	
//
//
class TCOM_API MsgGetEntity : public MsgBase
{
public:
	enum{	Category = Msg::MC_Entity, Id = 3	};

	MsgGetEntity();

	virtual bool decode(MsgIStream& stream);
	virtual bool encode(MsgOStream& stream);
	virtual void dump();
	virtual bool validate();
};

//
//	MsgEntityEnter
//
class TCOM_API MsgSetEntity : public MsgBase
{
public:
	enum{	Category = Msg::MC_Entity, Id = 4	};
	MsgSetEntity();

	virtual bool decode(MsgIStream& stream);
	virtual bool encode(MsgOStream& stream);


	virtual void dump();
	virtual bool validate();
};

#endif

